package com.cskaoyan.vo;


import lombok.Data;

import java.math.BigDecimal;
import java.sql.Date;
import java.util.List;

/**
 * @description:
 * @author: libugu@cskaoyan.com
 * @date 2021/4/8 - 23:47
 */
@Data
public class OrderDetailVo {
    /**
     * orderGoods : [{"id":36,"orderId":36,"goodsId":1039051,"goodsName":"多功能午睡枕","goodsSn":"1039051","productId":54,"number":1,"price":79,"specifications":["标准"],"picUrl":"http://yanxuan.nosdn.127.net/c8ca0600fa7ba11ca8be6a3173dd38c9.png","comment":0,"addTime":"2021-04-07 00:43:50","updateTime":"2021-04-07 00:43:50","deleted":false}]
     * user : {"nickname":"测试用户","avatar":"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageView2/1/w/80/h/80"}
     * order : {"id":36,"userId":1,"orderSn":"20210407528102","orderStatus":103,"consignee":"小明","mobile":"18845678918","address":"辽宁省 沈阳市 皇姑区 巴啦啦小能量","message":"","goodsPrice":79,"freightPrice":8,"couponPrice":0,"integralPrice":0,"grouponPrice":0,"orderPrice":87,"actualPrice":87,"comments":0,"endTime":"2021-04-07 01:17:21","addTime":"2021-04-07 00:43:50","updateTime":"2021-04-07 01:17:21","deleted":false}
     */

    private UserBean user;
    private OrderBean order;
    private List<OrderGoodsBean> orderGoods;


    public OrderDetailVo() {
    }

    public OrderDetailVo(UserBean user, OrderBean order, List<OrderGoodsBean> orderGoods) {
        this.user = user;
        this.order = order;
        this.orderGoods = orderGoods;
    }

    public UserBean getUser() {
        return user;
    }

    public void setUser(UserBean user) {
        this.user = user;
    }

    public OrderBean getOrder() {
        return order;
    }

    public void setOrder(OrderBean order) {
        this.order = order;
    }

    public List<OrderGoodsBean> getOrderGoods() {
        return orderGoods;
    }

    public void setOrderGoods(List<OrderGoodsBean> orderGoods) {
        this.orderGoods = orderGoods;
    }

    public static class UserBean {
        /**
         * nickname : 测试用户
         * avatar : https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageView2/1/w/80/h/80
         */

        private String nickname;
        private String avatar;

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getAvatar() {
            return avatar;
        }

        public void setAvatar(String avatar) {
            this.avatar = avatar;
        }
    }

    public static class OrderBean {
        /**
         * id : 36
         * userId : 1
         * orderSn : 20210407528102
         * orderStatus : 103
         * consignee : 小明
         * mobile : 18845678918
         * address : 辽宁省 沈阳市 皇姑区 巴啦啦小能量
         * message :
         * goodsPrice : 79
         * freightPrice : 8
         * couponPrice : 0
         * integralPrice : 0
         * grouponPrice : 0
         * orderPrice : 87
         * actualPrice : 87
         * comments : 0
         * endTime : 2021-04-07 01:17:21
         * addTime : 2021-04-07 00:43:50
         * updateTime : 2021-04-07 01:17:21
         * deleted : false
         */

        private int id;
        private int userId;
        private String orderSn;
        private int orderStatus;
        private String consignee;
        private String mobile;
        private String address;
        private String message;
        private BigDecimal goodsPrice;
        private BigDecimal freightPrice;
        private BigDecimal couponPrice;
        private BigDecimal integralPrice;
        private BigDecimal grouponPrice;
        private BigDecimal orderPrice;
        private BigDecimal actualPrice;
        private Short comments;
        private Date endTime;
        private Date addTime;
        private Date updateTime;
        private boolean deleted;

        public OrderBean(int id, int userId, String orderSn, int orderStatus, String consignee, String mobile, String address, String message, BigDecimal goodsPrice, BigDecimal freightPrice, BigDecimal couponPrice, BigDecimal integralPrice, BigDecimal grouponPrice, BigDecimal orderPrice, BigDecimal actualPrice, Short comments, Date endTime, Date addTime, Date updateTime, boolean deleted) {
            this.id = id;
            this.userId = userId;
            this.orderSn = orderSn;
            this.orderStatus = orderStatus;
            this.consignee = consignee;
            this.mobile = mobile;
            this.address = address;
            this.message = message;
            this.goodsPrice = goodsPrice;
            this.freightPrice = freightPrice;
            this.couponPrice = couponPrice;
            this.integralPrice = integralPrice;
            this.grouponPrice = grouponPrice;
            this.orderPrice = orderPrice;
            this.actualPrice = actualPrice;
            this.comments = comments;
            this.endTime = endTime;
            this.addTime = addTime;
            this.updateTime = updateTime;
            this.deleted = deleted;
        }

        public OrderBean() {
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getUserId() {
            return userId;
        }

        public void setUserId(int userId) {
            this.userId = userId;
        }

        public String getOrderSn() {
            return orderSn;
        }

        public void setOrderSn(String orderSn) {
            this.orderSn = orderSn;
        }

        public int getOrderStatus() {
            return orderStatus;
        }

        public void setOrderStatus(int orderStatus) {
            this.orderStatus = orderStatus;
        }

        public String getConsignee() {
            return consignee;
        }

        public void setConsignee(String consignee) {
            this.consignee = consignee;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public BigDecimal getGoodsPrice() {
            return goodsPrice;
        }

        public void setGoodsPrice(BigDecimal goodsPrice) {
            this.goodsPrice = goodsPrice;
        }

        public BigDecimal getFreightPrice() {
            return freightPrice;
        }

        public void setFreightPrice(BigDecimal freightPrice) {
            this.freightPrice = freightPrice;
        }

        public BigDecimal getCouponPrice() {
            return couponPrice;
        }

        public void setCouponPrice(BigDecimal couponPrice) {
            this.couponPrice = couponPrice;
        }

        public BigDecimal getIntegralPrice() {
            return integralPrice;
        }

        public void setIntegralPrice(BigDecimal integralPrice) {
            this.integralPrice = integralPrice;
        }

        public BigDecimal getGrouponPrice() {
            return grouponPrice;
        }

        public void setGrouponPrice(BigDecimal grouponPrice) {
            this.grouponPrice = grouponPrice;
        }

        public BigDecimal getOrderPrice() {
            return orderPrice;
        }

        public void setOrderPrice(BigDecimal orderPrice) {
            this.orderPrice = orderPrice;
        }

        public BigDecimal getActualPrice() {
            return actualPrice;
        }

        public void setActualPrice(BigDecimal actualPrice) {
            this.actualPrice = actualPrice;
        }

        public Short getComments() {
            return comments;
        }

        public void setComments(Short comments) {
            this.comments = comments;
        }

        public Date getEndTime() {
            return endTime;
        }

        public void setEndTime(Date endTime) {
            this.endTime = endTime;
        }

        public Date getAddTime() {
            return addTime;
        }

        public void setAddTime(Date addTime) {
            this.addTime = addTime;
        }

        public Date getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(Date updateTime) {
            this.updateTime = updateTime;
        }

        public boolean isDeleted() {
            return deleted;
        }

        public void setDeleted(boolean deleted) {
            this.deleted = deleted;
        }
    }

    public static class OrderGoodsBean {
        /**
         * id : 36
         * orderId : 36
         * goodsId : 1039051
         * goodsName : 多功能午睡枕
         * goodsSn : 1039051
         * productId : 54
         * number : 1
         * price : 79
         * specifications : ["标准"]
         * picUrl : http://yanxuan.nosdn.127.net/c8ca0600fa7ba11ca8be6a3173dd38c9.png
         * comment : 0
         * addTime : 2021-04-07 00:43:50
         * updateTime : 2021-04-07 00:43:50
         * deleted : false
         */


        private int id;
        private int orderId;
        private int goodsId;
        private String goodsName;
        private String goodsSn;
        private int productId;
        private int number;
        private BigDecimal price;
        private String picUrl;
        private int comment;
        private Date addTime;
        private Date updateTime;
        private boolean deleted;
        private String[] specifications;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getOrderId() {
            return orderId;
        }

        public void setOrderId(int orderId) {
            this.orderId = orderId;
        }

        public int getGoodsId() {
            return goodsId;
        }

        public void setGoodsId(int goodsId) {
            this.goodsId = goodsId;
        }

        public String getGoodsName() {
            return goodsName;
        }

        public void setGoodsName(String goodsName) {
            this.goodsName = goodsName;
        }

        public String getGoodsSn() {
            return goodsSn;
        }

        public void setGoodsSn(String goodsSn) {
            this.goodsSn = goodsSn;
        }

        public int getProductId() {
            return productId;
        }

        public void setProductId(int productId) {
            this.productId = productId;
        }

        public int getNumber() {
            return number;
        }

        public void setNumber(int number) {
            this.number = number;
        }

        public BigDecimal getPrice() {
            return price;
        }

        public void setPrice(BigDecimal price) {
            this.price = price;
        }

        public String getPicUrl() {
            return picUrl;
        }

        public void setPicUrl(String picUrl) {
            this.picUrl = picUrl;
        }

        public int getComment() {
            return comment;
        }

        public void setComment(int comment) {
            this.comment = comment;
        }

        public Date getAddTime() {
            return addTime;
        }

        public void setAddTime(Date addTime) {
            this.addTime = addTime;
        }

        public Date getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(Date updateTime) {
            this.updateTime = updateTime;
        }

        public boolean isDeleted() {
            return deleted;
        }

        public void setDeleted(boolean deleted) {
            this.deleted = deleted;
        }

        public String[] getSpecifications() {
            return specifications;
        }

        public void setSpecifications(String[] specifications) {
            this.specifications = specifications;
        }

        public OrderGoodsBean(int id, int orderId, int goodsId, String goodsName, String goodsSn, int productId, int number, BigDecimal price, String picUrl, int comment, Date addTime, Date updateTime, boolean deleted, String[] specifications) {
            this.id = id;
            this.orderId = orderId;
            this.goodsId = goodsId;
            this.goodsName = goodsName;
            this.goodsSn = goodsSn;
            this.productId = productId;
            this.number = number;
            this.price = price;
            this.picUrl = picUrl;
            this.comment = comment;
            this.addTime = addTime;
            this.updateTime = updateTime;
            this.deleted = deleted;
            this.specifications = specifications;
        }

        public OrderGoodsBean() {
        }
    }
}
